package de.wittekind.bundesjugendspiele.server.impl.rmi;

import java.io.IOException;
import java.rmi.server.UnicastRemoteObject;
import de.wittekind.bundesjugendspiele.server.interfaces.Discipline;
import de.wittekind.bundesjugendspiele.server.interfaces.Riege;
import de.wittekind.bundesjugendspiele.server.interfaces.Schueler;

/**
 * @author Sascha Wegener
 * 
 * @version 17.04.2013
 */
public class RMIRiege extends UnicastRemoteObject implements Riege {

	private static final long serialVersionUID = 4621580732499671716L;
	private Riege riege;

	public RMIRiege(Riege riege) throws IOException {
		this.riege = riege;
	}

	@Override
	public Schueler getSchueler(int id) throws IOException {
		return new RMISchueler(riege.getSchueler(id));
	}

	@Override
	public void addSchueler(Schueler t) throws IOException {
		riege.addSchueler(t);
	}

	@Override
	public void removeSchueler(int id) throws IOException {
		riege.removeSchueler(id);
	}

	@Override
	@Deprecated
	public void setDiscipline(int id, Discipline d) throws IOException {
		riege.setDiscipline(id, d);
	}

	@Override
	@Deprecated
	public int getSchuelerAmount() throws IOException {
		return riege.getSchuelerAmount();
	}

	@Override
	public int[] getSchuelerIDs() throws IOException {
		return riege.getSchuelerIDs();
	}

	@Override
	public String getRiegenFuehrer() throws IOException {
		return riege.getRiegenFuehrer();
	}

	@Override
	public void setRiegenFuehrer(String nFuehrer) throws IOException {
		riege.setRiegenFuehrer(nFuehrer);
	}

	@Override
	public int newSchueler() throws IOException {
		return riege.newSchueler();
	}

	@Override
	public int getID() throws IOException {
		return riege.getID();
	}

	@Override
	public int[] getActiveSchuelerIDs() throws IOException {
		return riege.getActiveSchuelerIDs();
	}

}
